package com.finalist.service;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.finalist.Page;
import com.finalist.Pageable;
import com.finalist.entity.Attribute;
import com.finalist.entity.Brand;
import com.finalist.entity.CombinedCommodity;
import com.finalist.entity.Product;
import com.finalist.entity.ProductCategory;
import com.finalist.entity.Promotion;
import com.finalist.entity.Tag;
import com.finalist.entity.Product.OrderType;

public interface CombinedCommodityService extends BaseService<CombinedCommodity, Long> {

	Page<CombinedCommodity> findPage(ProductCategory productCategory, Brand brand, Promotion promotion, List<Tag> tags, Map<Attribute, String> attributeValue, BigDecimal startPrice, BigDecimal endPrice, Boolean isMarketable, Boolean isList, Boolean isTop, Boolean isGift, Boolean isOutOfStock, Boolean isStockAlert, OrderType orderType, Pageable pageable);
	
	List<CombinedCommodity> findByType(CombinedCommodity combinedCommodity);
}
